const Service = require('egg').Service;
const axios = require('axios');

class GetInfoService extends Service {
  async queryObj(wxid,mywxid) {
    try {
      // 获取指定微信用户的详细信息
      const response = await axios.post(
        this.config.baseURL,
        {
          type: 'queryObj',
          data: {
            type: '2',
            wxid,
          },
        },
        {
          params: { wxid: mywxid }, // 将 wxid 作为 Params 参数传递
        }
      );

      // 检查响应状态
      return response.data;
    } catch (error) {
      // 捕获异常并返回错误信息
      this.logger.error('获取用户信息失败:', error.message);
      return {
        success: false,
        message: '请求失败，请检查网络或接口状态',
      };
    }
  }

  async getMemberNick(wxid, objWxid,mywxid) {
    try {
      const response = await axios.post(
        this.config.baseURL,
        {
          type: 'getMemberNick',
          data: {
            wxid,
            objWxid,
          },
        },
        {
          params: { wxid: mywxid }, // 将 wxid 作为 Params 参数传递
        }
      );

      // 检查响应状态
      return response.data;
    } catch (error) {
      // 捕获异常并返回错误信息
      this.logger.error('获取用户信息失败:', error.message);
      return {
        success: false,
        message: '请求失败，请检查网络或接口状态',
      };
    }
  }

  async queryGroup(wxid,mywxid) {
    try {
      // 调用外部接口获取当前登录微信用户信息
      const response = await axios.post(
        this.config.baseURL,
        {
          type: 'queryGroup',
          data: {
            wxid,
            type: '1',
          },
        },
        {
          params: { wxid: mywxid }, // 将 wxid 作为 Params 参数传递
        }
      );

      // 检查响应状态
      return response.data;
    } catch (error) {
      // 捕获异常并返回错误信息
      this.logger.error('获取用户信息失败:', error.message);
      return {
        success: false,
        message: '请求失败，请检查网络或接口状态',
      };
    }
  }

}

module.exports = GetInfoService;
